如何对Pandas DataFrame中的每个元素或者说每个数应用一个函数 您所在的位置:网站首页 财务分析报告 英文 如何对Pandas DataFrame中的每个元素或者说每个数应用一个函数

如何对Pandas DataFrame中的每个元素或者说每个数应用一个函数

2024-02-15 09:38| 来源: 网络整理| 查看: 265

如何对Pandas DataFrame中的每个元素或者说每个数应用一个函数

答案是使用applymap() 函数,使用方法为df.applymap(函数名)。函数名可以为一个具体的函数名称,也可以是一个lambda函数。applymap()函数对dataframe对象中的每一个值,或者每一个元素都应用该函数。

举个例子,现在有一个dataframe对象df1,创建方式如下:

df1=pd.DataFrame(np.arange(16).reshape(4,4), index = pd.date_range('20200101', periods = 4), columns=list('ABCD'))

打印出来看看df1的样子:

现在我们需要将df1中的所有值都加10,

1)第一个方法可以使用lambda函数:df1 = df1.applymap(lambda x: x +10)

运行过之后,df1中的内容变为:

2)第二个方法定义一个函数

#定义一个函数 def func(x): return 10 + x #使用applymap对于数据集中的每个元素,应用func函数 df1=df1.applymap(func) df1

效果同第一种方法是一样的

3)如果想对某一列应用lambda函数,则应该使用map,否则会报错:'Series' object has no attribute 'applymap'

即df1['A'].applymap(lambda x: x +10),会报错'Series' object has no attribute 'applymap'。

改为df1['A'].map(lambda x: x +10),即可正常使用lambda函数。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有